|
Emplacement du menu |
---|
Surface → Extend face |
Ateliers |
Surface |
Raccourci par défaut |
Aucun |
Introduit dans la version |
0.17 |
Voir aussi |
Aucun |
Surface ExtendFace extrapole une face ou une surface existante à ses limites avec ses paramètres U et V locaux.
À gauche : surface d'origine. À droite : surface étendu.
Cette commande n'a pas d'options. Soit elle fonctionne avec la sélection, soit elle ne fonctionne pas.
Surface ExtendFace (classe Surface::Extend
) est dérivée de la classe de base Part Feature (classe Part::Feature
via la sous-classe Part::Spline
). Elles partagent donc toutes les propriétés de cette dernière.
Outre les propriétés décrites dans Part Feature, Surface Remplissage a les propriétés suivantes dans l'éditeur de propriétés.
Base
LinkSub
) : le sous-élément d'un objet qui sera étendu. Ce doit être une face.FloatConstraint
) : par défaut 0.1
.FloatConstraint
) : par défaut 0.05
. Le rapport du paramètre U local qui sera étendu dans le sens négatif.FloatConstraint
) : par défaut 0.05
. Le rapport du paramètre U local qui sera étendu dans le sens positif.Bool
) : par défaut true
, auquel cas DonnéesExtend UNeg et DonnéesExtend UPos auront la même valeur.FloatConstraint
) : par défaut 0.05
. Le rapport du V local qui sera étendu dans la direction négative.FloatConstraint
) : par défaut 0.05
. Le rapport de la direction V locale qui sera étendue dans la direction positive.Bool
) : par défaut true
, auquel cas DonnéesExtend VNeg et DonnéesExtend VPos auront la même valeur.IntegerConstraint
) : par défaut 32
.IntegerConstraint
) : par défaut 32
.
Base
Bool
) : par défaut false
. Mis à true
, elle affichera une superposition avec les points de contrôle de la surface.
Voir aussi : FreeCAD Script de base.
L'outil Surface Extension peut être utilisé dans des macros et depuis la console Python en ajoutant l'objet Surface::Extend
.
Face
de l'objet. Il ne doit contenir qu'une seule surface.import FreeCAD as App
import Draft
doc = App.newDocument()
a = App.Vector(-20, -20, 0)
b = App.Vector(-18, 25, 0)
c = App.Vector(60, 26, 0)
d = App.Vector(33, -20, 0)
points = [a, App.Vector(-20, -8, 0), b, c,
App.Vector(37, 4, 0), d,
App.Vector(-2, -18, 0), a]
obj = Draft.make_bspline(points)
doc.recompute()
if App.GuiUp:
obj.ViewObject.Visibility = False
surf = doc.addObject("Surface::Filling", "Surface")
surf.BoundaryEdges = [(obj, "Edge1")]
doc.recompute()
# ---------------------------------------------------------
points_spl = [App.Vector(-10, 0, 2),
App.Vector(4, 0, 7),
App.Vector(18, 0, -5),
App.Vector(25, 0, 0),
App.Vector(30, 0, 0)]
aux_edge = Draft.make_bspline(points_spl)
doc.recompute()
surf.UnboundEdges = [(aux_edge, "Edge1")]
doc.recompute()
# ---------------------------------------------------------
surf_extended = doc.addObject("Surface::Extend", "Surface")
surf_extended.Face = [surf, "Face1"]
doc.recompute()